Skip to main content

Les Variables Ansible

Les variables Ansible dynamisent vos playbooks et vous permettent de paramétrer l’exécution de vos rôles et playbooks en fonction des spécificités de vos serveurs. Par exemple, vous pouvez envisager un rôle Apache qui déploierait une liste de vhosts, cette liste étant stockée dans le fichier host_vars du serveur en question.

Les variables peuvent être définies dans plusieurs endroits :

  • Les fichiers spécifiques pour chaque serveur : etc/host_vars/<nomDuServeur>
  • Les fichiers de groupes de serveurs : etc/group_vars/<nomDuGroupe>
  • Directement dans le fichier d'inventaire dans la ligne du serveur concerné
  • Dans la ligne de commande avec l'option -e
  • Dans le playbook
  • Dans le rôle

En cas de définition multiple, c’est la définition la plus précise qui prend le dessus. En cas de variable contenant des types de données avancées, on peut choisir de fusionner chaque valeur via un comportement global à définir dans ansible.cfg (behaviour_merge). Par défaut, il n’y a pas de fusion.

Les variables peuvent également être écrites directement dans des fichiers de configuration en utilisant la fonctionnalité des templates (moteur Jinja2).

📖 Ressources: